Embodiments of the inventive concept relate to methods of operating a memory controller, and more particularly to a method of programming (or writing) data in a non-volatile memory using a memory address mapping between a storage device buffer and the non-volatile memory.
A memory generally includes a volatile memory and a non-volatile memory. While data stored in the volatile memory is lost when the supply of an external voltage stops, the non-volatile memory has an advantage of keeping data stored in the non-volatile memory even if the supply of an external voltage stops.
In a computing system, data needs to be processed at a high speed is processed using the volatile memory, but when it is necessary to keep data, the data is stored in the non-volatile memory.
A unit for processing data in a host is different from a unit for storing data in a non-volatile memory, and thus, when data with a smaller size than data to be processed in the non-volatile memory device is stored in the non-volatile memory, a plurality of writing requests occur more frequently than necessary in the host. As a result, there is a burden of processing a number of instructions using a processor of the host, and the non-volatile memory may have a problem of lifetime shortening due to wear-out.